#include <stdio.h>
// 函数预声明
void bubbleSort(int arr[], int n);
// 主函数
int main()
{
  int arr[] = {64, 34, 25, 12, 22, 11, 90};
  int arr1[] = {23, 34, 55, 72, 22, 81, 90};
  int n = sizeof(arr) / sizeof(arr[0]);
  // bubbleSort(arr, n);
  bubbleSort(arr1, n);
  printf("\n排序后的数组：");
  for (int i = 0; i < n; i++)
  {
    printf("%d ", arr1[i]);
  }
  return 0;
}
// 冒泡排序算法实现
void bubbleSort(int arr[], int n)
{
  int i, j;
  // 标志位，用于判断是否已经有序
  int flag = 1;
  for (i = 0; i < n - 1 && flag == 1; i++)
  {
    flag = 0;
    printf("\n第%d次排序：", i + 1);
    for (j = 0; j < n - i - 1; j++)
    {
      if (arr[j] > arr[j + 1])
      {
        flag = 1;
        // 交换相邻元素
        int temp = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = temp;
      }
    }
    for (int k = 0; k < n; k++)
    {
      printf("%d ", arr[k]);
    }
  }
}
